package com.zackeus.xupdate.factory;

import android.content.Context;

import androidx.annotation.NonNull;

import com.zackeus.xupdate.entity.LibraryUpdateEntity;

import java.util.Map;

/**
 * 版本更新代理
 */
public interface IUpdateProxy {

    /**
     * 获取上下文
     *
     * @return 上下文
     */
    @NonNull
    Context getContext();

    /**
     * 仅在wifi下更新
     * @return
     */
    boolean isWifiOnly();

    /**
     * 开始版本更新
     * @param params
     */
    void update( @NonNull Map<String, Object> params);

    /**
     * 开始版本更新
     * @param entity
     */
    void update(@NonNull LibraryUpdateEntity entity);

    /**
     * 资源回收
     */
    void recycle();

}
